Lab 5 DHT11 Humidity & Temperature Sensor
อุปกรณ์
1.NodeMCU ESP-12E Development Board V2
2.สาย USB-A to Micro-B ตัวผู้ (ควรเป็นสายที่สามารถรับส่งข้อมูลได้)
3.Breadboard
4.สาย jumper ตัวผู้
5.DHT11 Humidity & Temperature Sensor
การต่อวงจร
ขั้นตอนการปฏิบัติ
1.เชื่อมต่อ NodeMCU ESP-12E Development Board V2 เข้ากับคอมพิวเตอร์ของท่านโดยการเสียบสาย USB-A to Micro-B ด้านที่เป็น Micro-B เข้ากับ NodeMCU ESP-12E Development Board V2 และเสียบด้านที่เป็น USB-A เข้ากับ Port USB ของคอมพิวเตอร์
2.1.เปิดโปรแกรม Arduino IDE ขึ้นมา ท่านจำเป็นต้องติดตั้ง Library ของ DHT11 Humidity & Temperature Sensor โดยการไปที่เมนู Sketch ไปที่ Include Library แล้วเลือก Manage Libraries...
2.2.หา Library ของ DHT11 Humidity & Temperature Sensor โดยการพิมพ์ dht11 ในช่อง filter ท่านจะพบ DHT sensor library และ SimpleDHT ให้ท่านทำการติดตั้ง library ทั้ง 2 libraries
3.จากนั้น ท่านจาสามรถพิมพ์หรือคัดลอก source code ข้างล่างไปวางในใน Arduino IDE
#include <DHT.h>
#define DHTPIN D4 // Digital pin connected to DHT11 GPIO2
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor
void setup()
{
Serial.begin(115200); // Sets the data rate in bits per second (baud) for serial data transmission.
dht.begin();
}
void loop()
{
float h = dht.readHumidity(); // Read humidity
float t = dht.readTemperature(); // Read temperature as Celsius (the default)
float f = dht.readTemperature(true); // Read temperature as Fahrenheit (isFahrenheit = true)
if (isnan(h) || isnan(t) || isnan(f)) { // Check if any reads failed and exit early (to try again).
Serial.println("Failed to read from DHT sensor!");
return;
}
float hif = dht.computeHeatIndex(f, h); // Compute heat index in Fahrenheit (the default)
float hic = dht.computeHeatIndex(t, h, false); // Compute heat index in Celsius (isFahreheit = false)
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
4.ทำการ verify และ upload source code ไปยัง NodeMCU ESP-12E Development Board V2
ผลลัพธ์
วิธีดูค่าที่ได้จาก DHT11 มีดังนี้
1.คลิ๊กปุ่ม Serial Monitor รูป "แว่นขยาย" ที่อยุ่ตรงมุมบนขวาของ Arduino IDE
2.สิ่งที่ท่านต้องตรวจสอบทุกครั้งคือ baud ท่านต้องเลือก baud ให้ตรงกับค่าที่ท่านตั้งค่าไว้ใน source code (ในที่นี้คือ 115200)
***ถ้าท่านเลือกค่า baud ไม่ตรงกับที่ตั้งค่าไว้ใน source code จะทำให้ serial output แสดงไม่ถูกต้อง